home *** CD-ROM | disk | FTP | other *** search
/ Lexis Nexis Millenium Plus Collection 1997 to 1997 / Lexis-Nexis Millenium Plus Collection - 1996-97 (Lexis-Nexis)(LA1173-0 07-96)(1996).bin / pc / aasetup.inf < prev    next >
INI File  |  1996-08-12  |  69KB  |  2,087 lines

  1. DefineVariables
  2. Number [Product_Number]
  3.  
  4. Text [Infobase_File_Name]
  5.  
  6. Text [InUse_Status]
  7. TextArray [InUse]
  8. Number [InUse_Idx]
  9. Text [InUse_Flag]
  10.  
  11. Text [TRString]
  12. Text [Recovery_Mode]
  13. Text [Recovery_ID]
  14. Text [Recovery_CheckPoint]
  15. Text [Recovery_Stamp]
  16.  
  17. Text [SysFile_Sver] :=
  18. Text [SysFile_Tver] :=
  19.  
  20. TextArray [SystemFiles]
  21. Number    [SystemFiles_Idx]
  22. TextArray [SystemNotes]
  23. Number    [SystemNotes_Idx]
  24. Text      [SystemDir]
  25. Number    [SystemError]
  26. Number    [SystemWarn]
  27.  
  28.  
  29. ;; Define Windows Group Information
  30. Text [ExistingGroupName]
  31. Text [INSTALIT_Executable]
  32. Text [INSTALIT_GroupTitle]                 := Visual Release for Windows
  33. Text [INSTALIT_DefaultGroupTitle]     := Visual Release for Windows
  34. Text [INSTALIT_GroupfileName]           := Instalit.Grp
  35. Text [Screen_Option]
  36. Text [User_Id]
  37. Text [User_Time]
  38. Text [User_Date]
  39. Number [User_Install]
  40. Text [User_Version]
  41. Text [ReInstall_File]
  42. Text [ReInstall_Dir]
  43. Text [Command1] := BlankString
  44.  
  45. Number [Products_Ptr]   := 0
  46. Number [Products_End]   := 0
  47. Number [Count_Num]      := 0
  48. Text   [Products_Match] := BlankString
  49.  
  50. Number [BitMapX]
  51. Number [BitMapY]
  52. Number [TextX]
  53. Number [TextY]
  54.  
  55. Number [Total_QueSize]
  56. Number [FSPC_OnDrive]
  57. Number [FSPC_Needed]
  58. Text   [FSPC_Directory]
  59. Number [FSPC_Additional]
  60.  
  61. TextArray [Files]
  62.    Number [Files_Idx]
  63.  
  64. TextArray [Test1]
  65. TextArray [Text1]
  66.  
  67.  
  68. Number    [Dialog_RC]
  69. Number    [RadioButton_RC]
  70. Number    [Delim_Pos]
  71. Number    [Product_Idx]
  72. Number    [Idle]
  73. TextArray [Product_Array]
  74. TextArray [Products_Installed]
  75. TextArray [Products_ReInstalled]
  76. Number    [Products_Installed_Idx]
  77. Number    [Products_ReInstalled_Idx]
  78. Number    [Products_ReInstalled_Flag]
  79. Number    [Install_Idx]
  80.  
  81. Text  [Current_Product]
  82. Text  [Current_Pvl]
  83.  
  84. ;; IW Help File Information
  85. Text [HPI_HelpFile]            := IFW.HLP
  86. Text [HPI_HelpDir]             := HELP
  87. Text [HPI_INIFile]             := HPI.INI
  88.  
  89. Text [HPI_FilePikW]            := FILEPIKW
  90. Text [Le_Dir]                  := LE
  91.  
  92. ;; Define Windows Icon Information
  93. Text [MB_IconTitle]            := MediaBuilder
  94. Text [MB_IconFile]             := Rubik.Ico
  95. Text [PVLview_IconTitle]       := PVLView
  96. Text [PVLview_IconFile]        := PVLView.Exe
  97.  
  98. Text [Guide_Dir]               :=
  99. Text [Guide_Executable]        := Guide.Exe
  100. Text [Guide_CMDLine]           :=
  101. Text [Guide_IconTitle]         := GUIDE v5.0
  102. Text [Guide_IconFile]          := Guide.Ico
  103.  
  104. Text [GuideInf_IconTitle]      := GUIDE Script
  105. Text [GuideInf_IconFile]       := Guide.Ico
  106.  
  107. Text [InstalitInf_IconTitle]   := Instalit Script
  108. Text [InstalitInf_IconFile]    := Instalit.Ico
  109.  
  110. Text [LittleEd_IconTitle]      := LittleED
  111. Text [LittleEd_IconFile]       := Le.Exe
  112.  
  113. Text [FP_IconTitle]            := FilePick
  114. Text [FP_IconFile]             := Filepikw.Exe
  115.  
  116. Text [OMNIDemo_Dir]            := OMNIDemo
  117. Text [OMNIDemo_Executable]     := hpiOMNI.Exe
  118. Text [OMNIDemo_CMDLine]        :=
  119. Text [OMNIDemo_IconTitle]      := hpiOMNI Demo
  120. Text [OMNIDemo_IconFile]       := OMNWDEMO.Ico
  121.  
  122. Text [DiskId_Desc]
  123. Text [DiskId_Version]
  124. Text [DiskId_Label]
  125. TextArray [Products_Disk_List]
  126. Number [Products_Disk_Idx] := 0
  127. Number [SystemFiles_Group] := 0
  128. Number [SystemGroupSize] := 0
  129. Text [ProductId] :=
  130. TextArray [Icons]
  131. Text [UnInstallMode] :=
  132. Number [FSPC_Required] := 0
  133. Text [FSPC_ERRMsg] :=
  134. Number [FSPC_RC] := 0
  135. TextArray [BmpDisplay_Bitmaps]
  136. Number [BmpDisplay_BMPT] := 0
  137. Text [BMPDisplay_Dir] :=
  138. Number [BMPDisplay_Number] := 15
  139. Number [BMPDisplay_ID] := 0
  140. Text [BMPDisplay_Current] :=
  141. Number [BMPDisplay_X] := 100
  142. Number [BMPDisplay_Y] := 100
  143.  
  144. Text [CheckCRC] :=
  145.  
  146. TextArray [Lrm]
  147. TextArray [Lrm_Menu]
  148. Number [Lrm_Number7]
  149. Number [DB] := 0
  150. Text [ID_Name] := 
  151.  
  152. ;; Variables: IICons 
  153. TextArray [IIcons_Parms]             
  154. Text         [IICons_Group]              
  155. Text         [IICons_LogFile]           
  156. Text         [IICons_Text]                 
  157. Text         [IICons_Item]               
  158. Text         [IICons_Str1]                
  159. Text         [IICons_Str2]                
  160. Number   [IICons_Idx] := 0          
  161. Number   [IICons_Count] := 0      
  162.  
  163.  
  164.  
  165. Text [CPDir] := 
  166. Number [TempNum] := 0
  167.  
  168. Text        [UniSys311_PDir] 
  169. Text        [UniSys311_LogF] 
  170. Number  [UniSys311_LCount] := 0
  171. Number  [UniSys311_TLines] := 0
  172. Text        [UniSys311_Text] 
  173. Number  [UniSys311_TChk] := 0
  174. Text        [UniSys311_SubText] 
  175. Text        [UniSys311_FileName]
  176. Text        [UniSys311_FilePath]
  177. Number [UniSys311_PathChk] := 0
  178. Text       [UniSys311_FileVersion]
  179. Text       [UniSys311_FileSize]
  180. Text      [UniSys311_FileDate]
  181. Text       [UniSys311_FileTime]
  182. Text       [UniSys311_Str1]
  183. Text      [UniSys311_Str2]
  184. Text      [UniSys311_Product]
  185. Number [UniSys311_Rc] := 0
  186. Number [UniSys311_Rb1] := 0
  187. Number [UniSys311_Rb2] := 0
  188. TextArray [UniSys311_LogFiles] 
  189. TextArray [UniSys311_SProduct] 
  190. Number [UniSys311_Num1] := 0
  191. TextArray [UniSys311_PNames] 
  192. Number [UniSys311_Num2] := 0
  193. Number [UniSys311_WinSysFilesIdx] := 0
  194. TextArray [UniSys311_WinSysFiles] 
  195. TextArray [UniSys311_DeleteSysFiles] 
  196. ;;
  197. Number [Dialog_RcMain] := 0
  198. Text [Dialog_FullInstallRc] := 
  199. Number [FSPC_DRC] := 0
  200. Number [BMPDisplay_BMPSet] := 0
  201. TextArray [BMPDisplay_BMpxy] 
  202. Number [BMPDisplay_BMPSelect] := 0
  203. Text [BMPDisplay_Name] := 
  204. Text [BMPDisplay_XY] := 
  205. Number [BMPDisplay_Select] := 0
  206. Text [BMPDisplay_Bmps] := 
  207. Text [BMPDisplay_BmpsXY] := 
  208. Text [DspBmp_Name] := 
  209. Text [DspBmp_Xy] := 
  210. Number [DspBmp_Percent] := 0
  211. Number [BMPDisplay_Limit] := 0
  212. Number [BMPDisplay_Factor] := 0
  213. Number [DspBmp_Mul] := 0
  214. Number [DspBmp_FCount] := 0
  215. Number [DspBmp_PCheck] := 0
  216. Number [DspBmp_PComp] := 0
  217.  
  218. ;; Variables: FSPChk
  219. Text      [FSPChk_Options]    :=   
  220. Text      [FSPChk_DirCheck]   :=
  221. Text      [FSPChk_DirString]  := 
  222. Text      [FSPChk_Drive]      := 
  223. Text      [FSPChk_CurrentDir] := 
  224. Number    [FSPChk_Count1]     := 0
  225. Number    [FSPChk_FreeSpace]  := 0
  226. Number    [FSPChk_QueSize]    := 0
  227. Number    [FSPChk_Required]   := 0
  228. Number    [FSPChk_Rc]         :=    
  229. Number    [FSPChk_MaxIdx]     :=
  230. Number    [FSPChk_Count]      := 
  231. TextArray [FSPChk_MsgList] 
  232. TextArray [FSPChk_Dir]         
  233.  
  234. ;; Variables: ReadWrt
  235. TextArray [ReadWrt_Dir]              ;; Array list of Drive/Directories to check 
  236. Text      [ReadWrt_Options]   :=     ;; <All> - Checks all known drives for Read/Write access
  237. Number    [ReadWrt_Rc]        :=     ;; 0  = All drives have Read/Write access/or selected dir
  238.                                      ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  239. TextArray [ReadWrt_DirList]          ;; TextArray of Drive/Dirs not Read/Write
  240. Number    [ReadWrt_MaxIdx]    :=
  241. Number    [ReadWrt_Count]     := 
  242. Text      [ReadWrt_DirCheck]  :=
  243. Text      [ReadWrt_DirString] :=
  244.  
  245. ;; Variables: FSPCErr
  246. Number    [FSPCERR_Rc] := 0
  247.  
  248. ;; Variables: ReadWrtErr
  249. Number    [ReadWrtErr_Rc] := 0
  250.  
  251. ;; Variables: ProdLst
  252. TextArray [ProdLst_All] 
  253. Number    [ProdLst_All_Idx] := 0
  254. TextArray [ProdLst_Available] 
  255. Number    [ProdLst_Available_Idx] := 0
  256. TextArray [ProdLst_GroupId] 
  257.  
  258. Number [IW] := 0
  259. Number [IW_HelpFiles] := 0
  260. Number [ID] := 0
  261. Number [VR] := 0
  262. Number [Componet_Idx] := 0
  263. TextArray [Componet] 
  264. Text [CustomInstall_Id] := 
  265. Number [CustomInstall_Idx] := 0
  266. Number [CustomInstall_Count] := 0
  267. Number [CustomInstall_Rc] := 0
  268. TextArray [CustomInstall_Prod] 
  269. TextArray [CustomInstall_Select] 
  270.  
  271. ;; --------------------------------------
  272. ;; New code section
  273. ;; ______________________________________
  274. Text [GetGroup_IconTitle]  := Mill+ Collection Fall 96        ;; Default Icon title
  275. Text [GetGroup_ExeCMDL]    := 
  276. Text [GetGroup_DefaultGrp] := LEXIS-NEXIS Legal Education     ;; Default Group name 
  277.  
  278. ;; Variables: GetGroup
  279. TextArray [GetGroup_Name] 
  280. Number    [GetGroup_Idx] := 0
  281. Text      [GetGroup_Select] := 
  282. TextArray [GetGroup_Info] 
  283. Number    [GetGroup_InfoIdx]    := 0
  284.  
  285. Text      [GetIdir_Idir] := 
  286. Text      [GetGroup_InputGrp] := 
  287. Text      [GetGroup_Input] := 
  288.  
  289. ;; Variables: Parse
  290. Text      [Parse_Str]      :=              
  291. Text      [Parse_Text]     :=              
  292. Text      [Parse_Char]     :=              
  293. Number    [Parse_Count]    := 0            
  294. Number    [Parse_Len]      := 0            
  295. Number    [Parse_CharLen]  := 0           
  296. Number    [Parse_Pos1]     := 0           
  297. TextArray [Parse_Tokens]                     
  298.  
  299. ;; Variables: PClassRead
  300. Text      [PClassRead_Text]    := 
  301. Number    [PClassRead_BegLine] := 0
  302. Number    [PClassRead_SCount]  := 0
  303. TextArray [PClassRead_Name] 
  304. TextArray [PClassRead_Select] 
  305.  
  306. ;; Variables: PClassQueRead
  307. Number    [PClassQueRead_SCount]  := 0
  308. Number    [PClassQueRead_BegLine] := 0
  309. TextArray [PClassQueRead_QueGrp]
  310.  
  311. Text      [Custom_Install_LDIR] := 
  312. Text      [Install_Type] := 
  313. Text      [Install_QueGroup] :=
  314. Number    [Install_NofComponets] := 0
  315. Number    [Install_BegLine] := 0
  316. Number    [CustomInstall_Rb] := 0
  317. TextArray [CustomInstall_FList]
  318.  
  319. ;; Variables: ISysFilesB
  320. Text      [ISysFileB_Str1]     := 
  321. Text      [ISysFileB_Dir]      :=
  322. Text      [ISysFileB_TDir]     := 
  323. Text      [ISysFileB_BFile]    := 
  324. Text      [ISysFileB_Str2]     := 
  325. Text      [ISysFileB_Str3]     := 
  326. Number    [ISysFileB_InUseIdx] := 0
  327. Number    [ISysFilesB_Group]   := 0
  328. Number    [ISysFileB_Num1]     := 0
  329. Number    [ISysFileB_DialogRC] := 
  330. Number    [ISysFileB_Rc]       := 0
  331. TextArray [ISysFileB_InUse] 
  332. TextArray [ISysFileB_Names] 
  333.  
  334. Text [OpenLogFile_Dir] := 
  335. Text [OpenLogFile_File] := 
  336. Text [OpenLogFile_Product] := 
  337. Text [LogFileOpen_Dir] := 
  338. Text [LogFileOpen_File] := 
  339. Text [LogFileOpen_Product] := 
  340.  
  341. ;; Variables: PClassQueFiles
  342. Number    [PClassQueFiles_SCount]  := 0
  343. Number    [PClassQueFiles_BegLine] := 0
  344. Number    [GetIDir_TQueSize] := 0
  345.  
  346. ;; Variables: OleSelfReg
  347. TextArray [OleSelfReg_FName] 
  348. Number    [OleSelfReg_Idx] := 0
  349. Number    [OleSelfReg_Count] := 0
  350. Text      [OleSelfReg_Text] := 
  351. Text      [OleSelfReg_LogFile] := 
  352.  
  353. Text [OleSelfReg_Options] :=
  354.  
  355. Text [ISysFileB_LogFile] :=
  356. Number [Dialog_SysFile] := 0
  357. Text [WinDir] :=
  358. Text [PassThru_Switch] :=
  359. Text [OleSelfReg_Type] := 
  360. Number [OleSelfReg_DLLRc] := 0
  361. Number [OleSelfReg_OSError] := 0
  362. Number [OleSelfReg_OSExit] := 0
  363. Number [OleSelfReg_Rc] := 0
  364. Number [OleSelfReg_ErrCnt] := 0
  365. TextArray [OleSelfReg_Errors] 
  366. Text [OleSelfRegErr_Text] := 
  367. Text [OleSelfRegErr_Ext] := 
  368. Text [OleSelfRegErr_FName] := 
  369. Text [OleSelfRegErr_PName] :=
  370. Text [OleSelfRegErr_LogDir] := 
  371. Text [OleSelfRegErr_LogFile] :=
  372. Number [OleSelfRegErr_Rc] := 0
  373. Number [OleSelfRegErr_Idx] := 0
  374. Number [OleSelfRegErr_Count] := 0
  375. Text [GetIPVL_Dir] :=
  376. TextArray [InUse_FileName] 
  377. TextArray [InUse_BackUpN] 
  378. TextArray [InUse_AppName]
  379. Number [InUse_RC] := 0
  380. Text [ExitNote_1] := 
  381. Text [ExitNote_2] :=
  382. Number [Dialog_RcFE] := 0
  383. Number [OleSelfReg_LoadCount] := 0
  384. Text [AddVshare_Installed] :=
  385. Number [AddVShare_FSize] := 0
  386. Number [AddVShare_SecLine] := 0
  387. TextArray [AddVShare_ModIni] 
  388. Number [AddVShare_ChkSec] := 0
  389. Text [AddVShare_FileName] := 
  390. Text [AddVShare_Ini] := 
  391. Text [AddVShare_Options] :=
  392. Number [AddVShare_Count] := 0
  393. Text [AddVShare_OText] := 
  394. Text [System_Reboot] :=
  395. Number [OleSelfReg_OptChk] := 0
  396. Number [OleSelfRegErr_OptChk] := 0
  397. Number [OleSelfRegErr_DRc] := 0
  398. Text [OleSelfRegErr_Options] :=
  399. Number [System_RebootStat] := 0
  400. Text [LogFileOpen_Version] := 
  401. Text [LogFileOpen_CompanyName] :=
  402. Text [Product_Name] := 
  403. Text [Product_Version] := 
  404. Text [Product_CompanyName] := 
  405. Text [Product_DefaultGrp] := Lexis-Nexis
  406. Text [Product_DefaultDir] := C:\LN-EDU
  407. Text [System_StartTime] := 
  408. Text [System_CMDLine] := 
  409. Text [System_TempDir] := 
  410. Text [System_InstallType] :=
  411. TextArray [OleSelfReg_Req] 
  412. Number [OLESelfReg_Chk1] := 0
  413. Number [OLESelfReg_Chk2] := 0
  414. Text [OleSelfReg_RegFn] := 
  415. Text [OLESelfReg_ReqStatus] :=
  416. Text [OleSelfReg_OSType] :=
  417. TextArray [OleSelfRegErr_BakFiles] 
  418. Number [OleSelfReg_InstallFlag] := 0
  419. Number [OleSelfReg_OSTypeFlag] := 0
  420. Text [OleSelfRegErr_BackUpDir] :=
  421. Number [IAdd_Dec1] := 0
  422. Number [IAdd_Dec2] := 0
  423. Number [IAdd_DecSum] := 0
  424. Text [IAdd_DecResult] := 
  425. Text [IAdd_Num1] := 
  426. Text [IAdd_Num2] := 
  427. Text [IAdd_TDec1] := 
  428. Text [IAdd_TDec2] := 
  429. Text [IAdd_Dec] := 
  430. Text [IAdd_DecCarry] := 
  431. Text [IAdd_TInt1] := 
  432. Text [IAdd_TInt2] := 
  433. Number [IAdd_Int1] := 0
  434. Number [IAdd_Int2] := 0
  435. Number [IAdd_IntSum] := 0
  436. Number [IAdd_Carry] := 0
  437. Text [IAdd_Sum] := 
  438. Text [ISub_TDec1] := 
  439. Text [ISub_TDec2] := 
  440. Text [ISub_Num1] := 
  441. Text [ISub_Num2] := 
  442. Number [ISub_Dec1] := 0
  443. Number [ISub_Dec2] := 0
  444. Number [ISub_DecSum] := 0
  445. Text [ISub_DecResult] := 
  446. Text [ISub_Dec] := 
  447. Text [ISub_DecCarry] := 
  448. Number [ISub_Carry] := 0
  449. Text [ISub_TInt1] := 
  450. Text [ISub_TInt2] := 
  451. Number [ISub_Int1] := 0
  452. Number [ISub_Int2] := 0
  453. Number [ISub_IntSum] := 0
  454. Text [ISub_Sum] := 
  455. Logical [Num10] := NoCharacter
  456. Logical [Num11] := NoCharacter
  457. Logical [Num12] := NoCharacter
  458. Logical [Num13] := NoCharacter
  459. Logical [Num14] := NoCharacter
  460. Logical [Num15] := NoCharacter
  461. Number [ChrRmv_Count] := 0
  462. Text [ChrRmv_Chr] := 
  463. Number [ChrRmv_Pos] := 0
  464. Text [ChrRmv_Text] := 
  465. Text [ChrRmv_T1] := 
  466. Text [ChrRmv_Return] :=
  467. Text [MVersion] :=
  468. Number [Install_Size] := 0
  469. Text [PassThru_Switch1] :=
  470. Text [CDRom_Present] :=
  471. Text [Text_1] := 
  472. Text [ByeBye_Desc] :=
  473. EndDefineVariables
  474.  
  475. Procedure Full_Install
  476. ;;***************************************************************************
  477. ;;
  478. ;; Full Install Option
  479. ;;
  480. ;;***************************************************************************
  481. ;;
  482.  
  483. [System_InstallType] := Full
  484.  
  485. [GetGroup_InputGrp] := BlankString
  486. [GetIdir_IDir]      := BlankString
  487.  
  488. :Full_InstallGetGroup
  489. Do GetGroup
  490.  
  491. If [Dialog_Rc] = 300
  492.    SoLong Quietly
  493. EndIf
  494.  
  495. If [Dialog_Rc] = 100 ;; Back selected
  496.    Goto Choice
  497. EndIf
  498.  
  499. If [GetIdir_IDir] = BlankString
  500.    [GetIdir_IDir] := [Product_DefaultDir]
  501. EndIf
  502.  
  503. [InstallationDirectory] := [GetIdir_IDir] 
  504.  
  505. if [Install_Type] = CDRom
  506.    goto InUse_Check
  507. Endif
  508.  
  509. [Text_1] := The LEXIS-NEXIS Millennium+ Software Collection will be installed to the following drive and directory. To change the installation directory, use the edit box below or select 'Change' and follow the prompts.
  510.  
  511. :Full_InstallInit
  512. ;;LoadBitMap ShadowDirectory\uni1.bmp
  513. ;; ***Substitute source directory for ShadowDirectory argument if necessary***
  514.    DialogBox  @xy(center,80) 284 165 Returns [Dialog_Rc] BlackOnLightGray UseHeader "Determine Installation Drive and Directory"  ;;ShadowDirectory\DTRINST.DBB
  515.       Font "MS Sans Serif" 8
  516.       Static @xy(84,7) 190 50 "[Text_1]"
  517.       BitMap @xy(8,7) BitMap 14
  518.       PushButton N_Button ProcIs NextConfirm @xy(180,145) 45 15 "Next >" 200
  519.       PushButton @xy(135,145) 45 15 "< &Back" 100
  520.       PushButton C_Button ProcIs ExitConfirm @xy(232,145)  45 15 "Cancel" 300
  521.       Static @xy(8,140) 269 1 "" BlackRect
  522.       GroupBox @xy(84,100) 193 32 "Install to:"
  523.       PushButton InstallDir ProcIs GetIDir @xy(224,111) 45 15 "Change" 400
  524.       EditText @xy(90,112) 129 12 Uses [GetIdir_IDir] Border UpperCase 
  525.    EndDialogBox
  526.  
  527.  
  528. If [Dialog_Rc] = 300
  529.    SoLong Quietly
  530. EndIf
  531.  
  532. If [Dialog_Rc] = 100
  533.    Goto Full_InstallGetGroup
  534. EndIf
  535. [InstallationDirectory] := [GetIdir_IDir]\BVIEWS
  536.  
  537. :Full_InstallDirExists
  538.  
  539. :InUse_Check
  540. UnQueAllFiles
  541. Do QueInstallFiles
  542.  
  543. ;; PreviewMode inuse files
  544. SetInstallModeTo Preview
  545. UpDateWindow
  546.  
  547. ClearScreen
  548. ShowBitMap 13 @xy(Center,Center)
  549. Delay 1
  550. TextOut @xy(Center,Center) Previewing installation ...
  551.  
  552. ClearArray [InUse_FileName]
  553. ClearArray [InUse_BackUpN]
  554. ClearArray [InUse_AppName]
  555.  
  556. GetQuedFiles [InUse_FileName] [InUse_BackUpN] [InUse_AppName] Quietly
  557.  
  558. :Inuse_Dialog
  559. [InUse_RC] := LastIndexUsedFor [InUse_FileName]
  560. If [InUse_Rc] > 0
  561. ClearScreen
  562. HideBitMap 13
  563. Delay 1
  564.  
  565. [String1] := BlankString
  566. DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader "Files in-use "  ;;F:\VR\SCRIPTS\INSTTYPE.DBB
  567.   Font "MS Sans Serif" 8
  568.   LText @xy(84,7)  181 30 "One or more files required for installation are currently in-use. Please shutdown any applications that may be running and retry."
  569.   LText @xy(84,37) 181 20 "You may use the listbox below to browse files that are in-use."
  570.   BitMap @xy(8,7) BitMap 14
  571.   Ltext @xy(84,60) 245 12 "The following files are in-use. "
  572.   ListBox  @xy(84,73) 170 70 Uses [String1] LoadWith [InUse_FileName] Border
  573.       PushButton @xy(180,145) 45 15 "Next >" 200 
  574.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  575.       PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  576.       Static @xy(8,140) 269 1 "" BlackRect
  577. EndDialogBox
  578.  
  579. If [Dialog_Rc] = 300
  580.    SoLong Quietly
  581. EndIf
  582.  
  583. If [Dialog_Rc] = 100
  584.    Goto Full_InstallDirExists
  585. EndIf
  586.  
  587. DialogBox  @xy(center,80) 284 165 Returns [Dialog_Rc] BlackOnLightGray UseHeader " Installation note "  
  588.   Font "MS Sans Serif" 8
  589.   LText   @xy(84,7)  191 24 "Choosing to ignore files in-use will cause additional steps to be added to the installation process."
  590.   LText   @xy(84,37) 191 24 "Such steps include the shutting down of windows, execution of a batch file and rebooting windows."
  591.   BitMap @xy(8,7) BitMap 14
  592.       PushButton @xy(180,145) 45 15 "Next >" 200 
  593.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  594.       PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  595.       Static @xy(8,140) 269 1 "" BlackRect
  596. EndDialogBox
  597.  
  598. If [Dialog_Rc] = 300
  599.    SoLong Quietly
  600. EndIf
  601.  
  602. If [Dialog_Rc] = 100
  603.    Goto Inuse_Dialog
  604. EndIf
  605.  
  606. EndIf
  607.  
  608. if [Install_Type] <> CDRom
  609.     SetInstallModeTo Install
  610.     Do QueInstallFiles
  611. else
  612.     SetMouseCursor Wait
  613.     goto CreateIcons
  614. EndIf
  615.  
  616. SetMouseCursor Wait
  617. ClearScreen
  618. ShowBitMap 13 @xy(Center,Center)
  619. Delay 1
  620. TextOut @xy(Center,Center) Verifying system requirements...
  621.  
  622. ;; Check for FreeSpaceOnDrive 
  623. ClearArray [FSPChk_Dir]             ;; Clear old Array contents
  624. ;;[FSPChk_Dir][1]  := BlankString   ;; Drive/Directory to check 
  625. [FSPChk_Options] := All             ;; <All> - Checks all drives for required freespace.
  626.  
  627. Do FSPChk                           ;; <BlankString> - Checks for required freespace on a specified drive.
  628.  
  629. ;; Return Codes: FSPChk
  630. ;; [FSPChk_Rc]         :=     ;; 0  = All drives have adequate free space available.
  631. ;;                            ;; >0 = Indicates one or more Drives/dirs required freespace.
  632. ;; [FSPChk_MsgList][X] :=     ;; TextArray of Drive/Dirs with insufficent freespace.
  633.  
  634. Do FSPCErr
  635.  
  636. If [FSPCErr_Rc] = 300 
  637.    SoLong Quietly
  638. EndIf
  639.  
  640. If [FSPCErr_Rc] = 100
  641.    UnQueAllFiles   
  642.    ClearScreen
  643.    Goto Full_InstallInit
  644. EndIf
  645.  
  646. :SetUp_ReadWrt
  647. ;; Calling Convention: ReadWrt
  648. [ReadWrt_Dir][1]  := BlankString     ;; Drive/Directory to check 
  649. [ReadWrt_Options] := TargetOnly      ;; <BlankString> - Use if no option specified
  650.                                      ;; <All> - Checks all known drives for Read/Write access
  651. Do ReadWrt                           ;; Checks for required read / write access
  652. ;; Return Codes:
  653. ;; [ReadWrt_Rc]         :=     ;; 0  = All drives have Read/Write access/or selected dir
  654. ;;                             ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  655. ;; [ReadWrt_DirList][X] :=     ;; TextArray of Drive/Dirs not Read/Write
  656.  
  657. Do ReadWrtErr
  658. If [ReadWrtErr_Rc] = 300 
  659.    SoLong Quietly
  660. EndIf
  661.  
  662. If [ReadWrtErr_Rc] = 100
  663.    ClearScreen
  664.    Goto Full_InstallInit
  665. EndIf
  666.  
  667. ClearScreen
  668. HideBitMap 13
  669. Delay 1
  670.  
  671. ;; Call ISysFileB to handle file installation
  672. [ISysFileB_TDir]    := [InstallationDirectory]\System
  673. [ISysFileB_BFile]   := LNWin.Bat
  674. [ISysFileB_LogFile] := BlankString
  675. Do ISysFilesB
  676.  
  677.  
  678.  
  679. :CreateIcons
  680. ;; Install Visual Release Icons
  681. ClearScreen
  682. ShowBitMap 13 @xy(Center,Center)
  683. Delay 1
  684. TextOut @xy(Center,Center) Installing icons...
  685.  
  686. [IICons_Group] := [GetGroup_InputGrp]
  687. Do IIcons
  688.  
  689. [AddVShare_FileName] := [WindowsSystemDirectory]\VShare.386
  690. [AddVShare_Ini]      := [WindowsDirectory]\System.Ini
  691. [AddVShare_Options]  := BlankString ;;Quietly
  692. Do AddVShare
  693.  
  694. ;;HideBitMap 13
  695. ;;Delay 1
  696. ;;ClearScreen
  697. Do ModIni
  698.  
  699. SetMouseCursor Arrow
  700.  
  701. EndProcedure
  702. Procedure SetUp
  703. ;;***************************************************************************
  704. ;; SetUp - Intializes instalit windows/colors/Ques support files into ShadowDirectory
  705. ;;
  706. ;; HPI - Leading the world in installation technology
  707. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  708. ;; From the HPI script library 10/01/95 - CNH
  709. ;; ---------------------------------------------------------------------------------------------------------------
  710. ;; Description: SetUp 
  711. ;; The main function of setup is to properly intialize the system
  712. ;; for script execution. This includes the loading of bitmaps into
  713. ;; the shadowdirectory. 
  714. ;;
  715. ;; Compatiability: SetUp
  716. ;; Windows, Win95, NT installers only ! 
  717. ;;
  718. ;; Calling Convention: SetUp
  719. ;; Do SetUp     
  720. ;;
  721. ;; Return Codes: SetUp
  722. ;; None
  723. ;;
  724. ;; Variables: SetUp
  725. ;; As Required
  726. ;;
  727. ;;***************************************************************************
  728.  
  729. SetBackGroundColor 0 0 255 0 0 0
  730. SetReadOnlyInquiry Off 
  731. SetReplacementInquiry Off
  732. SetDefaultBitMap Off
  733. ShowWindow Maximized
  734.  
  735. SetMouseCursor Wait
  736.  
  737. ;; All installation support files and bitmaps to temp dir
  738. ;;
  739. :SetUp_QueFiles
  740. QueFileGroup 100 to ShadowDirectory
  741.  
  742. ;; Check for FreeSpaceOnDrive 
  743. ClearArray [FSPChk_Dir]             ;; Clear old Array contents
  744. [FSPChk_Dir][1]  := ShadowDirectory ;; Drive/Directory to check 
  745. [FSPChk_Options] := BlankString     ;; <All> - Checks all drives for required freespace.
  746. Do FSPChk                           ;; <BlankString> - Checks for required freespace on a specified drive.
  747.  
  748. ;; Return Codes: FSPChk
  749. ;; [FSPChk_Rc]         :=     ;; 0  = All drives have adequate free space available.
  750. ;;                            ;; >0 = Indicates one or more Drives/dirs required freespace.
  751. ;; [FSPChk_MsgList][X] :=     ;; TextArray of Drive/Dirs with insufficent freespace.
  752.  
  753. Do FSPCErr
  754. If [FSPCErr_Rc] = 300 
  755.    SoLong Quietly
  756. EndIf
  757.  
  758. If [FSPCErr_Rc] = 100
  759.    UnQueAllFiles   
  760.    Goto SetUp_QueFiles
  761. EndIf
  762.  
  763. :SetUp_ReadWrt
  764. ;; Calling Convention: ReadWrt
  765. [ReadWrt_Dir][1]  := ShadowDirectory ;; Drive/Directory to check 
  766. [ReadWrt_Options] := BlankString     ;; <BlankString> - Use if no option specified
  767.                                      ;; <All> - Checks all known drives for Read/Write access
  768. Do ReadWrt                           ;; Checks for required freespace on a specified drive.
  769.  
  770. ;; Return Codes:
  771. ;; [ReadWrt_Rc]         :=     ;; 0  = All drives have Read/Write access/or selected dir
  772. ;;                             ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  773. ;; [ReadWrt_DirList][X] :=     ;; TextArray of Drive/Dirs not Read/Write
  774.  
  775. Do ReadWrtErr
  776. If [ReadWrtErr_Rc] = 300 
  777.    SoLong Quietly
  778. EndIf
  779.  
  780. If [ReadWrtErr_Rc] = 100
  781.    Goto SetUp_ReadWrt
  782. EndIf
  783.  
  784. GetQuedFiles Quietly
  785.  
  786. LoadBitMap 15 ShadowDirectory\LexNex.Bmp LexNex1.Bmp
  787. ShowBitMap 15 @xy(1,1)
  788. UpdateWindow
  789.  
  790. LoadBitMap 14 ShadowDirectory\mill.bmp
  791.  
  792. SetBackGroundModeTo Transparent
  793. LoadBitMap 13 ShadowDirectory\OneM.Bmp
  794. EndProcedure
  795. Procedure DDENonFatalErrorTrap
  796. ;;***************************************************************************
  797. ;;
  798. ;; Handle non-fatal error functions
  799. ;;
  800. ;;***************************************************************************
  801. ;; Purpose of DDENonFatalErrorTrap:
  802. ;; If a procedure with this name is present in the script and a non-fatal
  803. ;; Program Manager DDE error occurs, then this procedure will be executed.
  804. ;;
  805. ;; Possible Text Error Codes Are:
  806. ;;      ddeExec%s failed      (NOTE:  the "%s" is replaced by error types)
  807. ;;      ddeInitiate failed
  808. ;;      pmAddItem failed
  809. ;;      pmClose failed
  810. ;;      pmCreateGroup failed
  811. ;;
  812. ;; To trap a DDENonFatalError and respond to it, use the following code
  813. ;; [Number1] := PositionOf "PMAddItem" in DDENonFatalError
  814. ;; If [Number1] > 0
  815. ;;    Dialog
  816. ;;      NonFatal error in AddItem occurred
  817. ;;      Error Text : DDENonFatalError
  818. ;;    EndDialog
  819. EndProcedure
  820. Procedure ByeBye
  821. ;;***************************************************************************
  822. ;;
  823. ;; Installation Exit Procedure
  824. ;;
  825. ;;***************************************************************************
  826. ;;Do ClearBmps
  827.  
  828. SetMouseCursor Arrow
  829.  
  830. ClearScreen
  831. :Exit
  832. [ByeBye_Desc] := The LEXIS-NEXIS Millennium+ Software Collection has been successfully installed. You may execute The Millennium+ Software Collection from the program group '[IICons_Group]' by clicking the icon titled '[GetGroup_IconTitle]'.
  833.  
  834. [Command1] := [InstallationDirectory]\BVIEWS.EXE -c [InstallationDirectory]\views.ini -i [InstallFromDrive]:\MILLF96A.NFO
  835.  
  836. DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " Installation Complete "  ;;F:\VR\SCRIPTS\INSTTYPE.DBB
  837.   Font "MS Sans Serif" 8
  838.   BitMap @xy(8,7) BitMap 14
  839.   LText @xy(83,7) 197 40 "[ByeBye_Desc]"
  840.   PushButton @xy(120,145) 65 15 "Open Mill+ Now!" 200
  841.   PushButton @xy(230,145) 45 15 "Finish" 300
  842.   Static @xy(8,140) 269 1 "" BlackRect
  843. EndDialogBox
  844.  
  845. if [Dialog_Rc] = 200
  846.    Run [Command1] NoWait SW_SHOWMAXIMIZED
  847. EndIf
  848.  
  849. DeleteFiles from ShadowDirectory Quietly
  850. mill.bmp
  851. onem.bmp
  852. lexnex.bmp
  853. lexnex1.bmp
  854. EndDeleteFiles
  855.  
  856. SoLong Quietly
  857.  
  858.  
  859. EndProcedure
  860.  
  861. Procedure NextConfirm
  862.     if DirectoryAllowable [GetIdir_IDir] 
  863.        Exit DismissDialog
  864.     else
  865.        Dialog UserHeader "Directory Not Acceptable"
  866.        Invalid directory specified. 
  867.      Please enter a valid drive and directory.
  868.        EndDialog     
  869.        Exit
  870.     endif
  871. EndProcedure
  872.  
  873. Procedure GetIdir
  874.  
  875. :Goto GetIDir_GetDir
  876. [GetIDir_TQueSize] := QueSize
  877.  
  878. [String1] := SubStringOf [GetIdir_IDir] From 4 to End
  879. DetermineInstallationDrive [GetIDir_TQueSize] RequireFixed 
  880. DetermineInstallationDirectory InstallationDrive:\[String1] RequireFixed NoCreate
  881.  
  882. [GetIdir_IDir] := [InstallationDirectory]
  883.  
  884. ;; Check for a vaild directory
  885. If DirectoryAllowable [InstallationDirectory]
  886.    Exit    
  887. EndIf
  888.  
  889. :GetIDir_NotAllowable
  890. [String19] := BlankString
  891. [Number25] := RGB(0,64,128)     ;;custom foreground color
  892. DialogBox  @xy(center,80) 284 215 Returns [UniSys311_Rc] BlackOnLightGray UseHeader " Directory not allowable " SysMenu ;;F:\VR\SCRIPTS\CUSTOM.DBB
  893.   Font "MS Sans Serif" 8
  894.   BitMap @xy(8,7) BitMap 14
  895.   GroupBox @xy(8,185) 269 1 ""
  896.   PushButton @xy(136,192) 45 15 "< &Back" 100
  897.   PushButton @xy(180,192) 45 15 "Next >" 200 Disabled
  898.   PushButton @xy(232,192) 45 15 "Cancel" 300
  899.   Ctext @xy(80,10)   200 30 "The installation directory that you have defined is invalid and must be corrected before installationing the selected products.  "
  900.   Ctext @xy(80,30)   200 30 "The installation directory may be invalid due to one or more of the following ... "
  901.   Ltext @xy(80,50)   225 12 " * Directory does not exist."
  902.   Ltext @xy(80,60)   225 12 " * Does not contain a fully qualified path assignment. "
  903.   Ltext @xy(80,70)   225 12 " * Does not have read/write access to the directory.   "
  904.   Ltext @xy(80,80)   225 12 " * Directory path contains invalid characters.         "
  905.   Ltext @xy(80,100)  220 12 "The following installation directory is invalid.              "
  906.   EditText    @xy(80,110)   155 12 Uses [GetIdir_IDir] Border NoHideSelection AutoHScroll ReadOnly Disabled
  907. EndDialogBox
  908.  
  909. If [UniSys311_Rc] = 300
  910.    SoLong Quietly
  911. EndIf
  912.  
  913. If [UniSys311_Rc] = 100
  914.    Goto GetIDir_GetDir
  915. EndIf
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925. EndProcedure
  926. Procedure IICons
  927. ;;***************************************************************************
  928. ;; IICons - Checks all Drives/Dirs freespace against QueSize  
  929. ;;
  930. ;; HPI - Leading the world in installation technology
  931. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  932. ;; From the HPI script library 09/25/95 - CNH
  933. ;; ---------------------------------------------------------------------------------------------------------------
  934. ;; Description: IICons 
  935. ;;
  936. ;; Compatiability: IICons
  937. ;; Windows, Win95, NT installers only ! 
  938. ;;
  939. ;; Calling Convention: IICons
  940. ;; [IICons_Dir][X]  :=               
  941. ;; [IICons_Options] := BlankString  
  942. ;; Do IICons                         
  943. ;;
  944. ;; Return Codes: IICons
  945. ;;
  946. ;; Variables: IICons
  947. ;;
  948. ;;*************************************************************
  949.  
  950. if [Install_Type] = CDRom
  951.    [InstallationDirectory] := [InstallFromDrive]:
  952. EndIf
  953.  
  954. ProgramManagerDDE
  955.   CreateGroup([IICons_Group])
  956.   DeleteItem([GetGroup_IconTitle])
  957.   AddItem([InstallationDirectory]\bviews.exe -c [InstallationDirectory]\views.ini -i [InstallFromDrive]:\MILLF96A.NFO,[GetGroup_IconTitle],[InstallFromDrive]:\SHELL.ICO,,,,[InstallFromDrive]:\)
  958. EndProgramManagerDDe
  959.  
  960. ProgramManagerDDE
  961.   CreateGroup([IICons_Group])
  962.   ShowGroup([IICons_Group],2)
  963. EndProgramManagerDDe
  964.  
  965.  
  966. EndProcedure
  967. Procedure Parse
  968.  
  969. ;; Initialize Parse variables
  970. ClearArray [Parse_Tokens]
  971. [Parse_Count] := 0
  972. [Parse_Len] := LengthOf [Parse_Str]
  973. [Parse_Text] := [Parse_Str]
  974.  
  975. ;; Parse CharLen must be properly set to handle single of multi character
  976. ;; parse strings.
  977. [Parse_CharLen] := LengthOf [Parse_Char]
  978. IncrementNumber [Parse_CharLen] 
  979.  
  980. ;; Check text for parse characters
  981. :Parse_CheckTokens
  982. [Parse_Pos1] := PositionOf [Parse_Char] In [Parse_Text]
  983.  
  984. ;; Extract token and place in [Parse_Tokens] array
  985. If [Parse_Pos1] > 1
  986.    DecrementNumber [Parse_Pos1]
  987.    [String1] := SubStringOf [Parse_Text] From 1 to [Parse_Pos1]
  988.    IncrementNumber [Parse_Count]
  989.    [Parse_Tokens][[Parse_Count]] := [String1]
  990.    [Parse_Pos1] := [Parse_Pos1] + [Parse_CharLen]
  991.    [Parse_Text] := SubStringOf [Parse_Text] From [Parse_Pos1] To End
  992.    Goto Parse_CheckTokens
  993. EndIf
  994.  
  995. ;; A parse character in the first string position indicates
  996. ;; a null Token
  997. If [Parse_Pos1] = 1
  998.    [Number1] := LengthOf [Parse_Text]
  999.    IncrementNumber [Parse_Count]
  1000.    [Parse_Tokens][[Parse_Count]] := BlankString
  1001.    [Parse_Pos1] := [Parse_Pos1] + [Parse_CharLen]
  1002.    DecrementNumber [Parse_Pos1]
  1003.    [Parse_Text] := SubStringOf [Parse_Text] From [Parse_Pos1] To End
  1004.    Goto Parse_CheckTokens
  1005. EndIf
  1006.  
  1007. ;; Always set [Parse_Count] according the number of
  1008. ;; tokens parsed, could possibly zero.
  1009. [Parse_Count] := LastIndexUsedFor [Parse_Tokens]
  1010. If [Parse_Count] = 0
  1011.    ClearArray [Parse_Tokens]
  1012.    Exit
  1013. EndIf
  1014.  
  1015. ;; If some tokens were parsed, check string for trailing
  1016. ;; tokens and to [Parse_Tokens] array.
  1017. If [Parse_Pos1] = 0
  1018.    [Number1] := LengthOf [Parse_Text] 
  1019.    If [Number1] > 0
  1020.      IncrementNumber [Parse_Count]
  1021.      [Parse_Tokens][[Parse_Count]] := [Parse_Text]
  1022.    EndIf
  1023. EndIf
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029. EndProcedure
  1030. Procedure GetGroup
  1031. ;;***************************************************************************
  1032. ;; GetGroup - Displays current list of all Programgroups and automatically sets
  1033. ;;            the default program group into the list if needed.
  1034. ;;
  1035. ;; HPI - Leading the world in installation technology
  1036. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  1037. ;; From the HPI script library 09/25/95 - CNH
  1038. ;; ---------------------------------------------------------------------------------------------------------------
  1039. ;; Description: GetGroup 
  1040. ;;
  1041. ;; Compatiability: GetGroup
  1042. ;; Windows, NT installers only ! 
  1043. ;;
  1044. ;; Calling Convention: GetGroup
  1045. ;; [GetGroup_DefaultGrp] :=            ;; Specified default group
  1046. ;; Do GetGroup                         ;; Calls GetGroup
  1047. ;;
  1048. ;; Return Codes:
  1049. ;; [GetGroup_Select]                   ;; Group name as selected by user
  1050. ;;
  1051. ;; Variables:
  1052. ;; Number    [GetGroup_Idx] := 0
  1053. ;; Number    [GetGroup_InfoIdx] := 0
  1054. ;; TextArray [GetGroup_Name] 
  1055. ;; TextArray [GetGroup_Info] 
  1056. ;; Text      [GetGroup_Select] := 
  1057. ;; Text      [GetGroup_DefaultGrp] := 
  1058. ;; Text      [GetIdir_Idir] := 
  1059. ;; Text      [GetGroup_InputGrp] := 
  1060. ;; Text      [GetGroup_Input] := 
  1061. ;; Text      [CPDir] := 
  1062. ;; 
  1063. ;;***************************************************************************
  1064.  
  1065. ;; Get a list of all Group Names
  1066. ClearArray [GetGroup_Name] 
  1067. [GetGroup_Name]        := GetProgramManagerGroupNames
  1068. [GetGroup_Idx]         := LastIndexUsedFor [GetGroup_Name] 
  1069. [GetGroup_Select]      := [GetGroup_DefaultGrp]
  1070. If [GetGroup_InputGrp] = BlankString
  1071.    [GetGroup_InputGrp] := [GetGroup_DefaultGrp]
  1072. EndIf  
  1073.  
  1074. ;; Check and see if default group already exists, if not add it as an option            
  1075. ClearArray [GetGroup_Info] 
  1076. [GetGroup_Idx] := 0             
  1077. [GetGroup_Info] := GetProgramManagerGroupInfo [GetGroup_InputGrp]
  1078. [GetGroup_InfoIdx] := LastIndexUsedFor [GetGroup_Info]
  1079. If [GetGroup_InfoIdx] = 0
  1080.    IncrementNumber [GetGroup_Idx] 
  1081.    [GetGroup_Name][[GetGroup_Idx]] := [GetGroup_InputGrp]
  1082. EndIf
  1083.  
  1084. ;; Prompt user for new program group name
  1085. DialogBox  @xy(center,80) 284 165 Returns [Dialog_Rc] BlackOnLightGray UseHeader "Select Program Group"  ;;F:\VR\SCRIPTS\PROGROUP.DBB
  1086.       Font "MS Sans Serif" 8
  1087.       BitMap @xy(8,8) BitMap 14
  1088.       Static @xy(8,140) 269 1 "" BlackRect
  1089.       PushButton @xy(180,145) 45 15 "Next >" 200
  1090.       PushButton @xy(136,145) 45 15 "< &Back" 100
  1091.       PushButton C_Button ProcIs ExitConfirm @xy(232,145)  45 15 "Cancel" 300
  1092.       LText @xy(84,7) 189 40 "An icon for the Millennium+ Software Collection will be created. The default group is LEXIS-NEXIS Legal Education. You may select another group or enter a new one in the list box below."
  1093.       LText @xy(84,52) 59 12 "Existing Groups:"
  1094.       ComboBox @xy(84,62) 191 70 Uses [GetGroup_InputGrp] LoadWith [GetGroup_Name] Border Sort
  1095. EndDialogBox
  1096.  
  1097. :GetGroup_Eoj
  1098.  
  1099. If [Dialog_Rc] = 300
  1100.    SoLong Quietly
  1101. EndIf
  1102.  
  1103. EndProcedure
  1104. Procedure FSPChk
  1105. ;;***************************************************************************
  1106. ;; FSPChk - Checks all Drives/Dirs freespace against QueSize  
  1107. ;;
  1108. ;; HPI - Leading the world in installation technology
  1109. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  1110. ;; From the HPI script library 09/25/95 - CNH
  1111. ;; ---------------------------------------------------------------------------------------------------------------
  1112. ;; Description: FSPChk 
  1113. ;; Uses the Instalit function 'QueSizeForDrive' to determine if sufficent
  1114. ;; free space is available on one or more drives. FSPChk will perform 
  1115. ;; free space detection with a list of specified drives or directories,
  1116. ;; or by using the 'All' option will automatically check all drives that
  1117. ;; have files targeted for installation. FSPChk will return an array with
  1118. ;; message information for any drives that fail free space requirements.
  1119. ;;
  1120. ;; Compatiability: FSPChk
  1121. ;; Windows, Win95, NT installers only ! 
  1122. ;;
  1123. ;; Calling Convention: FSPChk
  1124. ;; [FSPChk_Dir][X]  :=               ;; Drive/Directory to check 
  1125. ;; [FSPChk_Options] := BlankString   ;; <BlankString> - Checks specified dirs for FreeSpace
  1126. ;;                                   ;; <All> - OverRides specified dirs and checks Quesize
  1127. ;;                                              for all targeted drives.
  1128. ;; Do FSPChk                         ;; Checks for required freespace on a specified drive.
  1129. ;;
  1130. ;; Return Codes: FSPChk
  1131. ;; [FSPChk_Rc]         :=     ;; 0  = All drives have adequate free space available.
  1132. ;;                            ;; >0 = Indicates one or more Drives/dirs required freespace.
  1133. ;; [FSPChk_MsgList][X] :=     ;; TextArray of Drive/Dirs with insufficent freespace.
  1134. ;;
  1135. ;; The array message format for [FSPChk_MsgList] is: 
  1136. ;;
  1137. ;; Drive_Letter: (nnnnnnbytes Qued) (nnnnnnbytes Free) (nnnnnnbytes required)
  1138. ;; {QueSize} ----------^          
  1139. ;; {Free Space on Drive} --------------------^
  1140. ;; {Free Space Bytes Required to continue} ------------------------^
  1141. ;;
  1142. ;; Variables: FSPChk
  1143. ;;              Text      [FSPChk_Options]    :=     
  1144. ;;              Text      [FSPChk_DirCheck]   :=
  1145. ;;              Text      [FSPChk_DirString]  := 
  1146. ;;              Text      [FSPChk_Drive]      := 
  1147. ;;              Text      [FSPChk_CurrentDir] := 
  1148. ;;              Number    [FSPChk_Count1]     := 0
  1149. ;;              Number    [FSPChk_FreeSpace]  := 0
  1150. ;;              Number    [FSPChk_QueSize]    := 0
  1151. ;;              Number    [FSPChk_Required]   := 0
  1152. ;;              Number    [FSPChk_Rc]         :=     
  1153. ;;              Number    [FSPChk_MaxIdx]     :=
  1154. ;;              Number    [FSPChk_Count]      := 
  1155. ;;              TextArray [FSPChk_MsgList] 
  1156. ;;              TextArray [FSPChk_Dir]             
  1157. ;;
  1158. ;;***************************************************************************
  1159.  
  1160. [FSPChk_Count] := PositionOf All In [FSPChk_Options]
  1161. If [FSPChk_Count] > 0
  1162. ;; Option All
  1163. [FSPChk_DirString] := B
  1164. [FSPChk_Count]     := 0
  1165. [FSPChk_Rc]        := 0
  1166.  
  1167. ClearArray [FSPChk_Dir]
  1168. [FSPChk_MaxIdx] := LastIndexUsedFor [FSPChk_Dir]
  1169.  
  1170. While [FSPChk_DirString] < Z
  1171.  IncrementString [FSPChk_DirString] 
  1172.  
  1173.  If DriveIsPresent [FSPChk_DirString]:\
  1174.     If QueSizeForDrive [FSPChk_DirString] > 0   
  1175.        IncrementNumber [FSPChk_MaxIdx]
  1176.        [FSPChk_Dir][[FSPChk_MaxIdx]] := [FSPChk_DirString]:\
  1177.     EndIf
  1178.  EndIf
  1179. EndWhile
  1180.  
  1181. EndIf
  1182.  
  1183. ;; Initialize Variables
  1184. [FSPChk_MaxIdx] := LastIndexUsedFor [FSPChk_Dir]
  1185. [FSPChk_Count]  := 0
  1186. ClearArray [FSPChk_MsgList]
  1187.  
  1188. If [FSPChk_MaxIdx] = 0
  1189.    Exit
  1190. EndIf
  1191.  
  1192. While [FSPChk_Count] < [FSPChk_MaxIdx]
  1193.  IncrementNumber [FSPChk_Count] 
  1194.  [FSPChk_Drive]     := [FSPChk_Dir][[FSPChk_Count]]
  1195.  
  1196.  [FSPChk_DirCheck]  := SubStringOf [FSPChk_Drive] From 1 To 2
  1197.  
  1198.  [FSPChk_FreeSpace] := FreeSpaceOnDrive [FSPChk_DirCheck]
  1199.  [FSPChk_QueSize]   := QueSizeForDrive [FSPChk_DirCheck]
  1200.  [FSPChk_Required]  := [FSPChk_QueSize] - [FSPChk_FreeSpace]
  1201.  
  1202.  If [FSPChk_Required] < 0 
  1203.    Else
  1204.      [FSPChk_Count1] := 0 
  1205.      While [FSPChk_Count1] < [FSPChk_Rc]
  1206.        IncrementNumber [FSPChk_Count1]
  1207.        [FSPChk_CurrentDir] := [FSPChk_MsgList][[FSPChk_Count1]]  
  1208.        [FSPChk_Drive] := SubStringOf [FSPChk_CurrentDir] From 1 To 2
  1209.                
  1210.        If [FSPChk_DirCheck] = [FSPChk_Drive]
  1211.           Goto FSPChk_Dir
  1212.        EndIf
  1213.      EndWhile
  1214.  
  1215.     IncrementNumber [FSPChk_Rc] 
  1216.     [FSPChk_MsgList][[FSPChk_Rc]] := [FSPChk_DirCheck] ([FSPChk_FreeSpace] Free) ([FSPChk_Required] Additional bytes required)
  1217.  
  1218.  EndIf
  1219.  
  1220. :FSPChk_Dir
  1221.  
  1222. EndWhile
  1223.  
  1224.  
  1225.  
  1226. EndProcedure
  1227. Procedure ReadWrt
  1228. ;;***************************************************************************
  1229. ;; ReadWrt - Checks for Read/Write Access on a drive/drives or directories 
  1230. ;;
  1231. ;; HPI - Leading the world in installation technology
  1232. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  1233. ;; From the HPI script library 09/25/95 - CNH
  1234. ;; ---------------------------------------------------------------------------------------------------------------
  1235. ;; Description: ReadWrt 
  1236. ;; Uses an array list to check one or more Directories for R/w access.
  1237. ;; The <All> option can be used to scan all drives present. If the <ALL>
  1238. ;; option is specified, any directories specified are ignored. ReadWrt
  1239. ;; returns an array called [ReadWrt_DirList], and sets [ReadWrt_Rc] to
  1240. ;; the number of invalid Drives/Directories found on the system.   
  1241. ;;
  1242. ;; Compatiability: ReadWrt
  1243. ;; Windows, NT installers only ! 
  1244. ;;
  1245. ;; Calling Convention: ReadWrt
  1246. ;; [ReadWrt_Dir][X]  :=               ;; Drive/Directory to check 
  1247. ;; [ReadWrt_Options] := BlankString   ;; <BlankString> - Use if no option specified
  1248. ;;                                    ;; <All> - Checks all known drives for Read/Write access
  1249. ;; Do ReadWrt                         ;; Checks for required freespace on a specified drive.
  1250. ;;
  1251. ;; Return Codes:
  1252. ;; [ReadWrt_Rc]         :=     ;; 0  = All drives have Read/Write access/or selected dir
  1253. ;;                             ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  1254. ;; [ReadWrt_DirList][X] :=     ;; TextArray of Drive/Dirs not Read/Write
  1255. ;;
  1256. ;; Variables:
  1257. ;; TextArray [ReadWrt_Dir]             ;; Array list of Drive/Directories to check 
  1258. ;; Text      [ReadWrt_Options]  :=     ;; <All> - Checks all known drives for Read/Write access
  1259. ;; Number    [ReadWrt_Rc]       :=     ;; 0  = All drives have Read/Write access/or selected dir
  1260. ;;                                     ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  1261. ;; TextArray [ReadWrt_DirList]  :=     ;; TextArray of Drive/Dirs not Read/Write
  1262. ;; Number    [ReadWrt_MaxIdx]   :=
  1263. ;; Number    [ReadWrt_Count]    := 
  1264. ;; Text      [ReadWrt_DirCheck] := 
  1265. ;; 
  1266. ;;***************************************************************************
  1267. [ReadWrt_Count] := PositionOf TargetOnly In [ReadWrt_Options]
  1268. If [ReadWrt_Count] > 0
  1269. ;; Option All
  1270. [ReadWrt_DirString] := B
  1271. [ReadWrt_Count]     := 0
  1272. [ReadWrt_Rc]        := 0
  1273. ClearArray [ReadWrt_DirList] 
  1274.  
  1275. While [ReadWrt_DirString] < Z
  1276.  IncrementString [ReadWrt_DirString] 
  1277.  
  1278.  If QueSizeForDrive [ReadWrt_DirString] > 0
  1279.     If DirectoryAllowable [ReadWrt_DirString]:\
  1280.       Else
  1281.        IncrementNumber [ReadWrt_Rc]
  1282.        [ReadWrt_DirList][[ReadWrt_Rc]] := [ReadWrt_DirString]:\
  1283.     EndIf
  1284.  EndIf
  1285. EndWhile
  1286.  
  1287. Exit
  1288. EndIf
  1289.  
  1290. [ReadWrt_Count] := PositionOf All In [ReadWrt_Options]
  1291. If [ReadWrt_Count] > 0
  1292. ;; Option All
  1293. [ReadWrt_DirString] := B
  1294. [ReadWrt_Count]     := 0
  1295. [ReadWrt_Rc]        := 0
  1296. ClearArray [ReadWrt_DirList] 
  1297.  
  1298. While [ReadWrt_DirString] < Z
  1299.  IncrementString [ReadWrt_DirString] 
  1300.  
  1301.  If DriveIsPresent [ReadWrt_DirString]:\
  1302.     If DirectoryAllowable [ReadWrt_DirString]:\
  1303.       Else
  1304.        IncrementNumber [ReadWrt_Rc]
  1305.        [ReadWrt_DirList][[ReadWrt_Rc]] := [ReadWrt_DirString]:\
  1306.     EndIf
  1307.  EndIf
  1308. EndWhile
  1309.  
  1310. Exit
  1311. EndIf
  1312.  
  1313. :ReadWrt_Check
  1314. ;; Initialize Variables
  1315. [ReadWrt_MaxIdx] := LastIndexUsedFor [ReadWrt_Dir]
  1316. [ReadWrt_Count]  := 0
  1317. ClearArray [ReadWrt_DirList]
  1318.  
  1319. ;; Check selected directories for Read/Write access
  1320. While [ReadWrt_Count] < [ReadWrt_MaxIdx]
  1321.  IncrementNumber [ReadWrt_Count] 
  1322.  [ReadWrt_DirCheck] := [ReadWrt_Dir][[ReadWrt_Count]]
  1323.  
  1324.  If DirectoryAllowable [ReadWrt_DirCheck]
  1325.    Else
  1326.     IncrementNumber [ReadWrt_Rc]
  1327.     [ReadWrt_DirList][[ReadWrt_Rc]] := [ReadWrt_DirCheck]
  1328.  EndIf
  1329.  
  1330. EndWhile
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349. EndProcedure
  1350. Procedure FSPCERR
  1351. ;;***************************************************************************
  1352. ;; FSPCErr - Displays an error dialog if FSPChk returns an error via [FSPChk_Rc]
  1353. ;;
  1354. ;; HPI - Leading the world in installation technology
  1355. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  1356. ;; From the HPI script library 09/25/95 - CNH
  1357. ;; ---------------------------------------------------------------------------------------------------------------
  1358. ;; Description: FSPCErr 
  1359. ;; FSPCErr is called immediately following the FSPChk procedure. 
  1360. ;; If [FSPChk_Rc] is greater than zero, then FSPCErr will display
  1361. ;; an error dialog with the required information informing the 
  1362. ;; user that the installation directory has insufficient space 
  1363. ;; for product installation.
  1364. ;;
  1365. ;; Compatiability: FSPCErr
  1366. ;; Windows, Win95, NT installers only ! 
  1367. ;;
  1368. ;; Requires: FSPCErr
  1369. ;; Procedure  - FSPChk
  1370. ;;
  1371. ;; Calling Convention: FSPCErr
  1372. ;; Do FSPCErr                         ;; Checks to see if FSPChk has detected a freespace error
  1373. ;;
  1374. ;; Return Codes: FSPCErr
  1375. ;; If [FSPCErr_Rc] = 300              ;; User selected 'Cancel'  
  1376. ;;    SoLong Quietly
  1377. ;; EndIf
  1378. ;;
  1379. ;; If [FSPCErr_Rc] = 100              ;; User selected 'Re-Try'
  1380. ;;    UnQueAllFiles   
  1381. ;;    Goto SetUp_QueFiles
  1382. ;; EndIf
  1383. ;;
  1384. ;; Variables: FSPCErr
  1385. ;; Number    [FSPCErr_Rc] 
  1386. ;;***************************************************************************
  1387. [FSPCErr_Rc] := 0
  1388.  
  1389. If [FSPChk_Rc] > 0
  1390.    ClearScreen
  1391.    HideBitMap 13
  1392.    Delay 1   
  1393.  
  1394.    [Number25] := RGB(0,0,0)           ;;custom foreground color
  1395.    [Number26] := RGB(192,192,192)     ;;custom background color
  1396.  
  1397.    If FileExists ShadowDirectory\mill.bmp
  1398.       LoadBitMap 14 ShadowDirectory\mill.bmp
  1399.      Else
  1400.       Quefiles To ShadowDirectory
  1401.         mill.bmp
  1402.       EndQueFiles
  1403.       GetQuedFiles Quietly
  1404.       LoadBitMap 14 ShadowDirectory\mill.bmp
  1405.    EndIf
  1406.     
  1407.    UpdateWindow
  1408.  
  1409.    DialogBox  @xy(center,80) 284 165 Returns [FSPCERR_Rc] BlackOnLightGray UseHeader " Insufficient Free Space "  
  1410.       Font "MS Sans Serif" 8
  1411.       BitMap @xy(8,7) BitMap 14
  1412.       LText   @xy(84,7)  191 24 "Additional free space is required to continue installation. Please free up the required free space bytes and retry the installation."
  1413.       LText   @xy(84,37) 191 24 "Please see your 'Windows 3.1 File Manager' or 'Windows 95 Explorer' to delete any unneeded files to continue installation."
  1414.       LText   @xy(84,67) 191 23 "The following drive(s) have insufficient free space to continue installation."
  1415.       ListBox @xy(84,87) 191 33 Uses [String1] LoadWith [FSPChk_MsgList] Border 
  1416.       PushButton @xy(180,145) 45 15 "Next >" 200
  1417.       PushButton @xy(135,145) 45 15 "< Retry" 100 
  1418.       PushButton C_Button ProcIs ExitConfirm @xy(232,145)  45 15 "Cancel" 300
  1419.       Static @xy(8,140) 269 1 "" BlackRect
  1420.    EndDialogBox
  1421.  
  1422. EndIf
  1423.  
  1424. EndProcedure
  1425. Procedure ReadWrtErr
  1426. ;;***************************************************************************
  1427. ;; ReadWrtErr - Displays an error dialog if ReadWrtCHk returns an error via [ReadWrtChk_Rc]
  1428. ;;
  1429. ;; HPI - Leading the world in installation technology
  1430. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  1431. ;; From the HPI script library 09/25/95 - CNH
  1432. ;; ---------------------------------------------------------------------------------------------------------------
  1433. ;; Description: ReadWrtErr 
  1434. ;; ReadWrtErr is called immediately following the ReadWrtChk procedure. 
  1435. ;; If [ReadWrtChk_Rc] is greater than zero, then ReadWrtErr will display
  1436. ;; an error dialog with the required information informing the 
  1437. ;; user that the installation directory has insufficient space 
  1438. ;; for product installation.
  1439. ;;
  1440. ;; Compatiability: ReadWrtErr
  1441. ;; Windows, Win95, NT installers only ! 
  1442. ;;
  1443. ;; Requires: ReadWrtErr
  1444. ;; Procedure  - ReadWrtChk
  1445. ;;
  1446. ;; Calling Convention: ReadWrtErr
  1447. ;; Do ReadWrtErr                         ;; Checks to see if ReadWrtChk has detected a freespace error
  1448. ;;
  1449. ;; Return Codes: ReadWrtErr
  1450. ;; If [ReadWrtErr_Rc] = 300              ;; User selected 'Cancel'  
  1451. ;;    SoLong Quietly
  1452. ;; EndIf
  1453. ;;
  1454. ;; If [ReadWrtErr_Rc] = 100              ;; User selected 'Re-Try'
  1455. ;;    UnQueAllFiles   
  1456. ;;    Goto SetUp_QueFiles
  1457. ;; EndIf
  1458. ;;
  1459. ;; Variables: ReadWrtErr
  1460. ;; Number    [ReadWrtErr_Rc] 
  1461. ;;***************************************************************************
  1462.  
  1463. If [ReadWrt_Rc] > 0
  1464.    ClearScreen
  1465.    HideBitMap 13   
  1466.  
  1467.    [Number25] := RGB(0,0,0)           ;;custom foreground color
  1468.    [Number26] := RGB(192,192,192)     ;;custom background color
  1469.  
  1470.    If FileExists ShadowDirectory\mill.bmp
  1471.       LoadBitMap 14 ShadowDirectory\mill.bmp
  1472.      Else
  1473.       Quefiles To ShadowDirectory
  1474.         mill.bmp
  1475.       EndQueFiles
  1476.       GetQuedFiles Quietly
  1477.       LoadBitMap 14 ShadowDirectory\mill.bmp
  1478.    EndIf
  1479.     
  1480.    UpdateWindow
  1481.     
  1482.    DialogBox  @xy(center,80) 284 165 Returns [ReadWrtErr_Rc] BlackOnLightGray UseHeader " Directory Access Denied " 
  1483.       Font "MS Sans Serif" 8
  1484.       LText   @xy(84,7)  191 44 "During installation one or more directories did not have adequate Read/Write privileges. Read/Write access will be required for the specified directories as listed below before continuing installation."
  1485.       LText   @xy(84,47) 191 24 "Please see your systems administrator concerning access privileges."
  1486.       LText   @xy(84,77) 191 23 "The following directories do not have Read/Write access or are invalid."
  1487.       ListBox @xy(84,97) 191 33 Uses [String1] LoadWith [FSPChk_MsgList] Border
  1488.       BitMap @xy(8,7) BitMap 14
  1489.       PushButton @xy(180,145) 45 15 "Next >" 200
  1490.       PushButton @xy(135,145) 45 15 "< Retry" 100 
  1491.       PushButton C_Button ProcIs ExitConfirm @xy(232,145)  45 15 "Cancel" 300
  1492.       Static @xy(8,140) 269 1 "" BlackRect
  1493.    EndDialogBox
  1494.  
  1495. EndIf
  1496.  
  1497.  
  1498. EndProcedure
  1499. Procedure ISysFilesB
  1500. ;;***************************************************************************
  1501. ;; ISysFilesB - Installs Windows system files via batch file for inuse files.
  1502. ;; HPI - Leading the world in installation technology
  1503. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  1504. ;; From the HPI script library 06/26/95 - CNH
  1505. ;; ---------------------------------------------------------------------------------------------------------------
  1506. ;; Description: ISysFilesB          
  1507. ;; All file version information and files in use detection in automatically handled
  1508. ;; by INSTALIT during installation as determined set by VRELEASE in the filelist.
  1509. ;;
  1510. ;; Compatibility: ISysFilesB
  1511. ;; This technique should be compatible with all Windows 3.11+, NT, Win95
  1512. ;;
  1513. ;; Calling Convention: ISysFilesB
  1514. ;; [InstallationDirectory] := [InstallFromDirectory]
  1515. ;; [ISysFilesB_Group]      := 99
  1516. ;; [ISysFileB_Dir]         := [WindowsSystemDirectory]
  1517. ;; Do ISysFilesB
  1518. ;;
  1519. ;; Return Codes: ISysFilesB
  1520. ;; TextArray [ISysFileB_InUse]           ;; Fullpath of all files in use
  1521. ;; TextArray [ISysFileB_Names]           ;; The backup file names in nnnnnnnn.00X format
  1522. ;;
  1523. ;; Variables: ISysFilesB
  1524. ;; Number    [ISysFileB_InUseIdx] := 0
  1525. ;; Number    [ISysFilesB_Group]   := 0
  1526. ;; Number    [ISysFileB_Num1]     := 0
  1527. ;; Text      [ISysFileB_Str1]     := 
  1528. ;; Text      [ISysFileB_Dir]      := 
  1529. ;; Number    [ISysFileB_DialogRC] := 
  1530. ;; TextArray [ISysFileB_InUse] 
  1531. ;; TextArray [ISysFileB_Names] 
  1532. ;;
  1533. ;;***************************************************************************
  1534.  
  1535. ;; Install all qued files 
  1536. GetQuedFiles [ISysFileB_InUse] [ISysFileB_Names] 
  1537.  
  1538. ;; Check for files inuse
  1539. [ISysFileB_InUseIdx] := LastIndexUsedFor [ISysFileB_InUse]
  1540. If [ISysFileB_InUseIdx] = 0
  1541.    Exit
  1542. EndIf
  1543.  
  1544. ;; If some files were found to be inuse, then notify the user and allow them some
  1545. ;; options to handle the situation.
  1546. ;;
  1547. [ISysFileB_Str1] := LEXIS-NEXIS detected the following [ISysFileB_InUseIdx] file(s) in use.
  1548. [ISysFileB_Str2] := LEXIS-NEXIS will create [ISysFileB_TDir]\[ISysFileB_BFile]. You may execute this batch file from DOS after shutting down Windows.
  1549. [ISysFileB_Str3] := BlankString
  1550.  
  1551. ;; LoadBitMap 15 ShadowDirectory\uni1.bmp
  1552. DialogBox @xy(center,80) 284 165 Returns [ISysFileB_Rc]  BlackOnLightGray UseHeader " Warning some files in use .."
  1553. Font "MS Sans Serif" 8
  1554. BitMap @xy(8,7) BitMap 14
  1555. LText @xy(84,7)  190 18 [ISysFileB_Str1]
  1556. LText @xy(84,26) 190 28 [ISysFileB_Str2]
  1557. Ltext @xy(84,60) 245 12 "The following file(s) were in use. "
  1558. ListBox  @xy(84,73) 170 70 Uses [ISysFileB_Str3] LoadWith [ISysFileB_InUse] Border
  1559. GroupBox @xy(8,185) 269 1 ""
  1560. DefPushButton @xy(180,192) 45 15 "Next >" 200
  1561. PushButton @xy(232,192) 45 15 "Cancel" 300
  1562. PushButton @xy(136,192) 45 15 "< &Back" 400 Disabled
  1563. EndDialogBox
  1564.  
  1565. If [ISysFileB_Rc] = 300
  1566.    Solong Quietly
  1567. EndIf
  1568.  
  1569. ;; This selection will create a batch file with the necessary files, that
  1570. ;; could not be installed. This routine will allow only the newest version of 
  1571. ;; the selected file if multiple versions of the same file come from different
  1572. ;; products.
  1573.  
  1574. CreateDirectoryIfNecessary [ISysFileB_TDir] 
  1575. If FileExists [ISysFileB_TDir]\[ISysFileB_BFile]
  1576.    DeleteFiles From  [ISysFileB_TDir] Quietly
  1577.      [ISysFileB_BFile]
  1578.    EndDeleteFiles 
  1579. EndIf 
  1580.  
  1581.    AppendFile [ISysFileB_TDir]\[ISysFileB_BFile]
  1582.      ECHO OFF
  1583.      CLS
  1584.      Echo ------------------------------------------
  1585.      Echo [ISysFileB_BFile] - Install System files
  1586.      Echo Install date : SystemDate  SystemTime
  1587.      Echo Directory    : [InstallationDirectory]
  1588.      Echo ------------------------------------------
  1589.      Echo Before continuing, make sure that windows has been
  1590.      Echo shutdown and that no system files are currently in use. 
  1591.      Echo If any files are in use, you will get sharing violations
  1592.      Echo and the files will not copy.
  1593.      Echo Press Cntrl-C to abort this batch file.
  1594.      Echo ------------------------------------------
  1595.      Pause
  1596.    EndAppendFile
  1597.  
  1598. [Number18] := 0
  1599. While [Number18] <  [ISysFileB_InUseIdx]
  1600.   IncrementNumber [Number18]
  1601.     
  1602.      [String18] := [ISysFileB_InUse][[Number18]]
  1603.      [String19] := [ISysFileB_Names][[Number18]]
  1604.  
  1605.      AppendFile [ISysFileB_TDir]\[ISysFileB_BFile]
  1606.        Copy [String19] [String18]
  1607.      EndAppendFile
  1608.  
  1609.      AppendFile [LogFileOpen_Dir]\[LogFileOpen_File]
  1610.        InUseFile: [String19] [String18]
  1611.      EndAppendFile
  1612.  
  1613. EndWhile
  1614.  
  1615.    AppendFile [ISysFileB_TDir]\[ISysFileB_BFile]
  1616.      Echo ------------------------------------------
  1617.      Echo [ISysFileB_BFile] - Clean up install files
  1618.      Echo ------------------------------------------
  1619.      Echo Before continuing, make sure that all files
  1620.      Echo have been successfully copied.
  1621.      Echo If you are not sure that all files have been
  1622.      Echo successfully copied then you should press
  1623.      Echo Cntrl-C to abort this batch file and
  1624.      Echo rerun to insure that all system files copied.
  1625.      Echo ------------------------------------------
  1626.      Pause
  1627.    EndAppendFile
  1628.  
  1629. [Number18] := 0
  1630. While [Number18] <  [ISysFileB_InUseIdx]
  1631.   IncrementNumber [Number18]
  1632.     
  1633.      [String18] := [ISysFileB_InUse][[Number18]]
  1634.      [String19] := [ISysFileB_Names][[Number18]]
  1635.  
  1636.      AppendFile [ISysFileB_TDir]\[ISysFileB_BFile]
  1637.        Erase [String19]
  1638.      EndAppendFile
  1639.  
  1640. EndWhile
  1641.  
  1642.    AppendFile [ISysFileB_TDir]\[ISysFileB_BFile]
  1643.      Echo ------------------------------------------
  1644.      Echo [ISysFileB_BFile] - Install system files complete
  1645.      Echo ------------------------------------------
  1646.      Echo All system files have been properly installed
  1647.      Echo to the specified directories.
  1648.      Echo Upon completion you should reboot your system
  1649.      Echo and restart Windows.
  1650.      Echo ------------------------------------------
  1651.      Pause
  1652.    EndAppendFile
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663. EndProcedure
  1664. Procedure ModIni
  1665. ;; Modify Vrelease.Ini
  1666. ClearScreen
  1667. ShowBitMap 13 @xy(Center,Center)
  1668. Delay 1
  1669. TextOut @xy(Center,Center) Modifying Ini files...
  1670.  
  1671.    If .Not. FileExists [WindowsDirectory]\lname.ini
  1672.       CreateFile [WindowsDirectory]\lname.ini
  1673.    EndIf
  1674.  
  1675.    [Array1][1] := Master Infobase Directory
  1676.    [Array1][2] := Millennium+ Software Collection - Fall '96
  1677.    [Array1][3] := [InstallFromDrive]:\[Infobase_File_Name]
  1678.    [Array1][4] := [WindowsDirectory]\lname.ini
  1679.    WritePrivateProfileString Using [Array1] NoBackup
  1680.  
  1681.    [Array1][1] := Infobase Directory
  1682.    [Array1][2] := Millennium+ Software Collection - Fall '96
  1683.    [Array1][3] := [InstallFromDrive]:\[Infobase_File_Name]
  1684.    [Array1][4] := [WindowsDirectory]\lname.ini
  1685.    WritePrivateProfileString Using [Array1] NoBackup
  1686.  
  1687.    [Array1][1] := Infobase Directory
  1688.    [Array1][2] := AALS Clinical Section - 1996 Directory
  1689.    [Array1][3] := [InstallFromDrive]:\INFOBASE\CLINIC.NFO
  1690.    [Array1][4] := [WindowsDirectory]\lname.ini
  1691.    WritePrivateProfileString Using [Array1] NoBackup
  1692.  
  1693.    [Array1][1] := Infobase Directory
  1694.    [Array1][2] := Directory of Online Services - 1996
  1695.    [Array1][3] := [InstallFromDrive]:\INFOBASE\DIRECTOR.NFO
  1696.    [Array1][4] := [WindowsDirectory]\lname.ini
  1697.    WritePrivateProfileString Using [Array1] NoBackup
  1698.  
  1699.    [Array1][1] := Infobase Directory
  1700.    [Array1][2] := The University of Chicago Manual of Legal Citation
  1701.    [Array1][3] := [InstallFromDrive]:\INFOBASE\MAROON.NFO
  1702.    [Array1][4] := [WindowsDirectory]\lname.ini
  1703.    WritePrivateProfileString Using [Array1] NoBackup
  1704.  
  1705.    [Array1][1] := Infobase Directory
  1706.    [Array1][2] := Emanuel Law Outlines 1996-97 Product Guide
  1707.    [Array1][3] := [InstallFromDrive]:\INFOBASE\CATALOG.NFO
  1708.    [Array1][4] := [WindowsDirectory]\lname.ini
  1709.    WritePrivateProfileString Using [Array1] NoBackup
  1710.  
  1711.    [Array1][1] := Infobase Directory
  1712.    [Array1][2] := Emanuel Electronic Format CD-ROM Catalog
  1713.    [Array1][3] := [InstallFromDrive]:\MAIN.NFO
  1714.    [Array1][4] := [WindowsDirectory]\lname.ini
  1715.    WritePrivateProfileString Using [Array1] NoBackup
  1716.  
  1717.    [Array1][1] := Infobase Directory
  1718.    [Array1][2] := LEXIS-NEXIS Career Resource Guide
  1719.    [Array1][3] := [InstallFromDrive]:\INFOBASE\JOBPRO.NFO
  1720.    [Array1][4] := [WindowsDirectory]\lname.ini
  1721.    WritePrivateProfileString Using [Array1] NoBackup
  1722.  
  1723.    [Array1][1] := Infobase Directory
  1724.    [Array1][2] := LEXIS« For Law Students
  1725.    [Array1][3] := [InstallFromDrive]:\INFOBASE\EMNULLR.NFO
  1726.    [Array1][4] := [WindowsDirectory]\lname.ini
  1727.    WritePrivateProfileString Using [Array1] NoBackup
  1728.  
  1729.    [Array1][1] := Infobase Directory
  1730.    [Array1][2] := L/N Office Tutorials
  1731.    [Array1][3] := [InstallFromDrive]:\INFOBASE\USEOFF.NFO
  1732.    [Array1][4] := [WindowsDirectory]\lname.ini
  1733.    WritePrivateProfileString Using [Array1] NoBackup
  1734.  
  1735.    [Array1][1] := Infobase Directory
  1736.    [Array1][2] := Folio VIEWS at a Glance for Windows
  1737.    [Array1][3] := [InstallFromDrive]:\INFOBASE\TOOLBELT.NFO
  1738.    [Array1][4] := [WindowsDirectory]\lname.ini
  1739.    WritePrivateProfileString Using [Array1] NoBackup
  1740.  
  1741.    [Array1][1] := Infobase Directory
  1742.    [Array1][2] := Folio VIEWS 3.1 User's Guide for Windows
  1743.    [Array1][3] := [InstallFromDrive]:\BROWSE.NFO
  1744.    [Array1][4] := [WindowsDirectory]\lname.ini
  1745.    WritePrivateProfileString Using [Array1] NoBackup
  1746.  
  1747. If [Install_Type] <> CDRom
  1748.  
  1749.    ModifyTextFile [InstallationDirectory]\views.ini NoBackup
  1750.       Replace %InstallationDirectory% With [InstallationDirectory]
  1751.    EndModifyTextFile
  1752.  
  1753.    ModifyTextFile [InstallationDirectory]\views.ini NoBackup
  1754.       Replace %WindowsDirectory% With [WindowsDirectory]
  1755.    EndModifyTextFile
  1756.  
  1757.    ModifyTextFile [InstallationDirectory]\Foliohlp.ini NoBackup
  1758.       Replace %InstallationDirectory% With [InstallationDirectory]
  1759.    EndModifyTextFile
  1760.  
  1761.    ModifyTextFile [InstallationDirectory]\Foliohlp.ini NoBackup
  1762.       Replace %WindowsDirectory% With [WindowsDirectory]
  1763.    EndModifyTextFile
  1764.  
  1765. EndIf
  1766.  
  1767.  
  1768. ClearScreen
  1769. HideBitMap 13
  1770. EndProcedure
  1771. Procedure QueInstallFiles
  1772. ;; Instalit language files
  1773. QueFileGroup 200  To [InstallationDirectory]
  1774. ;; QueFileGroup 700  To [WindowsDirectory]
  1775. QueFileGroup 900  To [WindowsSystemDirectory]
  1776.  
  1777.  
  1778.  
  1779.  
  1780. EndProcedure
  1781. Procedure AddVshare
  1782.  
  1783. [AddVShare_ChkSec] := PositionOf Quietly in [AddVShare_Options]
  1784. If [AddVShare_ChkSec] = 0
  1785.    ClearScreen
  1786.    ShowBitMap 13 @xy(Center,Center)
  1787.    Delay 1
  1788.    TextOut @xy(Center,Center) Verifying installation of vshare ....
  1789. EndIf
  1790.  
  1791. If WindowsNT 
  1792.    Exit
  1793. EndIf
  1794.  
  1795. If WindowsVersion > 3.11
  1796.    Exit
  1797. EndIf
  1798.  
  1799. :AddVShare_Scan
  1800. [AddVshare_Installed] := UnKnown
  1801.  
  1802. If FileExists [AddVShare_Ini]
  1803.   Else
  1804.    CreateFile [AddVShare_Ini]
  1805.    Goto AddVShare_V386Que
  1806. EndIf
  1807.  
  1808. ExamineTextFile [AddVShare_Ini]    ;; Open file for read/only      
  1809. [AddVShare_FSize]  := TextLineCount    ;; Load number of lines in file
  1810. [AddVShare_Count]  := 0 
  1811.  
  1812. ;; Qualify Section Header for [386Enh]
  1813. [AddVShare_SecLine] := LineNumberWith ([386Enh],,)
  1814. If [AddVShare_SecLine] > 0
  1815.    [AddVShare_OText]     := Line [AddVShare_SecLine]
  1816.   Else
  1817.    Goto AddVShare_V386Que
  1818. EndIf
  1819.  
  1820. ;; See if Device = VShare.386
  1821. [AddVShare_Count] := [AddVShare_SecLine] 
  1822. While [AddVShare_Count] < [AddVShare_FSize]     ;; Scan each line in file
  1823.   IncrementNumber [AddVShare_Count]             ;; Inc current line count
  1824.   [AddVShare_OText] := Line [AddVShare_Count]   ;; Get text of current line
  1825.  
  1826.   [AddVShare_ChkSec] := PositionOf [ in [AddVShare_OText]
  1827.   If [AddVShare_ChkSec] = 1 
  1828.      Goto AddVShare_V386Que
  1829.    EndIf
  1830.  
  1831.   [AddVShare_ChkSec] := PositionOf Device=VShare.386 in [AddVShare_OText]
  1832.   If [AddVShare_ChkSec] = 1
  1833.      [AddVshare_Installed] := Yes 
  1834.      Goto AddVShare_V386Que
  1835.   EndIf
  1836. EndWhile
  1837.  
  1838. :AddVShare_V386Que
  1839. ForgetTextFile
  1840.  
  1841. If [AddVshare_Installed] = UnKnown
  1842.  
  1843.     [AddVShare_ModIni][1] := 386Enh
  1844.     [AddVShare_ModIni][2] := Device
  1845.     [AddVShare_ModIni][3] := VShare.386
  1846.     [AddVShare_ModIni][4] := [AddVShare_Ini]  
  1847.     WritePrivateProfileString Using [AddVShare_ModIni] NoBackUp 
  1848.  
  1849.     [AddVshare_Installed] := Added
  1850.  
  1851.     AppendFile [LogFileOpen_Dir]\[LogFileOpen_File]
  1852.     KeyAdd: [AddVShare_Ini] [AddVShare_ModIni][2] [AddVShare_ModIni][3]
  1853.     EndAppendFile
  1854.  
  1855. Endif
  1856.  
  1857. If FileExists [AddVShare_FileName]
  1858.   Else
  1859.    CopyFiles From ShadowDirectory To [WindowsSystemDirectory] Quietly
  1860.      VShare.386 
  1861.    EndCopyFiles
  1862. EndIf
  1863.  
  1864. [AddVShare_ChkSec] := PositionOf Quietly in [AddVShare_Options]
  1865. If [AddVShare_ChkSec] = 0
  1866.    ClearScreen
  1867. EndIf
  1868.  
  1869. If [AddVshare_Installed] = Added
  1870. [System_Reboot] := Yes
  1871. [System_RebootStat] := 1
  1872.  
  1873. AppendFile [InstallationDirectory]\Notes.Txt
  1874.  
  1875. Subject      : Installation of vshare.386
  1876. Install Date : SystemDate SystemTime
  1877.  
  1878. This notice was generated to inform you that windows must 
  1879. be rebooted because Vshare.386 was not properly installed
  1880. on this system. Instalit has modified the system.ini file
  1881. to properly load vshare.386 at system startup.
  1882. Visual Release 7.00+ requires that vshare.386 be properly
  1883. installed. 
  1884. ***********************************************
  1885. EndAppendFile
  1886.  
  1887. EndIf
  1888. EndProcedure
  1889. Procedure ExitProcedure
  1890. DeleteFiles from ShadowDirectory Quietly
  1891. REG_GUY1.BMP   
  1892. Uninstal.Stf
  1893. VShare.386
  1894. EndDeleteFiles
  1895.  
  1896. EndProcedure
  1897. Procedure ExitConfirm
  1898. If CompletionStatus <> Finished
  1899. [Number25] := RGB(0,0,0)           ;;custom foreground color
  1900. [Number26] := RGB(192,192,192)     ;;custom background color
  1901.  ClearScreen
  1902.    DialogBox ExitProcDialog @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader "Exit Confirmation"
  1903.       Font "MS Sans Serif" 8
  1904.       Bitmap @xy(8,7) Bitmap 14
  1905.       LText @xy(81,7)  191 50 "You have chosen to exit the LEXIS-NEXIS installation program. The title you have chosen has NOT been installed successfully. Please re-run the install program to install the selected title."
  1906.       PushButton @xy(180,145) 45 15 "Next >" 200 Disabled
  1907.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  1908.       PushButton @xy(232,145) 45 15 "Exit" 300
  1909.       Static @xy(8,140) 269 1 "" BlackRect
  1910.    EndDialogBox
  1911.  
  1912.    If [Dialog_Rc] = 300
  1913.       Exit DismissDialog
  1914.    EndIf
  1915.  
  1916.    Exit 
  1917.  
  1918. EndIf
  1919.  
  1920. EndProcedure
  1921. ;;*******************************************************************************************
  1922. ;; HPI
  1923. ;; 600 Boulevard South, Suite 305
  1924. ;; Huntsville Al,  35802
  1925. ;;
  1926. ;; HPI is the solution provider for the installation industry.
  1927. ;;  * * * 
  1928. ;;
  1929. ;;*****************************************************************************************
  1930.  
  1931. ;; CommandLine controls can be examined here, if a product description
  1932. ;; is passed on the command line, the product selection screen is bypassed
  1933. ;; 
  1934. ;; Do CheckCMDL
  1935.  
  1936. ;; Init System variables
  1937. ;;
  1938. [System_StartTime] := SystemTime
  1939. [System_CMDLine]   := [CommandLine0] [CommandLine1] [CommandLine2] [CommandLine3] [CommandLine4] [CommandLine5]
  1940. [System_TempDir]   := ShadowDirectory
  1941.  
  1942. ;; Init Installation
  1943. ;;
  1944. Do Setup         ;; SetUp Screen Displays and Colors
  1945.  
  1946. ;; Display main dialog
  1947. ;;
  1948.  
  1949.    [MVersion] := CD
  1950.    [Dialog_RcMain] := 2
  1951.    [Infobase_File_Name] := MILLF96A.NFO
  1952.  
  1953.    UnQueAllFiles
  1954.    Do QueInstallFiles
  1955.    [Install_Size] := QueSize / 1000
  1956.    UnQueAllFiles
  1957.  
  1958. SetMouseCursor Arrow
  1959.  
  1960.  
  1961. :MainMenu
  1962. [Number25] := RGB(0,0,0)           ;;custom foreground color
  1963. [Number26] := RGB(192,192,192)     ;;custom background color
  1964.  
  1965. :Welcome
  1966.  
  1967.    DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " LEXIS-NEXIS Millennium+ Software Collection Installation"  ;;F:\VR\SCRIPTS\INSTTYPE.DBB
  1968.       Font "MS Sans Serif" 8
  1969.       LText @xy(84,7) 181 90 "Welcome to the LEXIS-NEXIS Millennium+ Software Collection. This is your gateway to some of the most advanced legal technology on the planet today. We are making this valuable technology available to you as part of our continuing LEXIS-NEXIS Millennium Initiative. This initiative embodies our commitment to the legal education community... to bring cutting-edge legal technology to every law student, law professor and law librarian across the country." 
  1970.       LText @xy(84,85) 181 60 "The LEXIS-NEXIS Millennium+ Software Collection will help law students navigate legal studies more effectively - while providing faculty members with a new galaxy of high-tech educational materials."
  1971.       Bitmap @xy(8,7) Bitmap 14
  1972.       LText @xy(8,145) 80 12 "⌐ 1996 LEXIS-NEXIS,"
  1973.       LText @xy(8,153) 120 12 "    a division of Reed Elsevier Inc."
  1974.       PushButton @xy(180,145) 45 15 "Next >" 200 
  1975.       PushButton @xy(135,145) 45 15 "< &Back" 100 Disabled
  1976.       PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  1977.       Static @xy(8,140) 269 1 "" BlackRect
  1978.    EndDialogBox
  1979.  
  1980.    If [Dialog_Rc] = 300
  1981.       SoLong Quietly
  1982.    EndIf
  1983.  
  1984.  
  1985. :Welcome1
  1986.  
  1987. if [MVersion] = CD
  1988.    DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " LEXIS-NEXIS Millennium+ Software Collection Installation"  ;;F:\VR\SCRIPTS\INSTTYPE.DBB
  1989.       Font "MS Sans Serif" 8
  1990.       LText @xy(84,20) 170 12 "Included on this CD-ROM version are:"
  1991.       LText @xy(90,40) 170 10 "╖ LEXIS-NEXIS Office for Legal Education"
  1992.       LText @xy(90,50) 170 10 "╖ LEXIS-NEXIS Internet Companion"
  1993.       LText @xy(90,60) 170 10 "╖ LEXIS-NEXIS Legal Toolbox(TM)"
  1994.       LText @xy(90,70) 170 10 "╖ 51 Michie Publications"
  1995.       LText @xy(90,80) 170 10 "╖ 11 Emanuel Law Outlines"
  1996.       LText @xy(90,100) 170 10 "  and much more!"
  1997.     Bitmap @xy(8,7) Bitmap 14
  1998.       PushButton @xy(180,145) 45 15 "Next >" 200 
  1999.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  2000.       PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  2001.       Static @xy(8,140) 269 1 "" BlackRect
  2002.    EndDialogBox
  2003.  
  2004.    If [Dialog_Rc] = 100
  2005.       goto Welcome
  2006.    EndIf
  2007.  
  2008.    If [Dialog_Rc] = 300
  2009.       SoLong Quietly
  2010.    EndIf
  2011. Else
  2012.    DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " LEXIS-NEXIS Millennium+ Software Collection Installation"  ;;F:\VR\SCRIPTS\INSTTYPE.DBB
  2013.       Font "MS Sans Serif" 8
  2014.       LText @xy(84,10) 170 12 "Included on this Diskette version is:"
  2015.       LText @xy(90,30) 170 10 "╖ LEXIS-NEXIS Office for Legal Education"
  2016.       LText @xy(84,47) 180 40 "This Diskette version will also let you download publications electronically via your modem. The LEXIS-NEXIS Millennium+ Software Collection will give you access to the following products:"
  2017.       LText @xy(90,90) 170 10 "╖ LEXIS-NEXIS Legal Toolbox(TM)"
  2018.       LText @xy(90,100) 170 10 "╖ 51 Michie Publications"
  2019.       LText @xy(84,120) 170 10 "  and much more!"
  2020.     Bitmap @xy(8,7) Bitmap 14
  2021.       PushButton @xy(180,145) 45 15 "Next >" 200 
  2022.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  2023.       PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  2024.       Static @xy(8,140) 269 1 "" BlackRect
  2025.    EndDialogBox
  2026.  
  2027.    If [Dialog_Rc] = 100
  2028.       goto Welcome
  2029.    EndIf
  2030.  
  2031.    If [Dialog_Rc] = 300
  2032.       SoLong Quietly
  2033.    EndIf
  2034. EndIf
  2035.  
  2036. :Choice
  2037.  
  2038.    DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " Select Installation Type "  ;;F:\VR\SCRIPTS\INSTTYPE.DBB
  2039.       Font "MS Sans Serif" 8
  2040.       LText @xy(84,7) 181 23 "The LEXIS-NEXIS Millennium+ Software Collection can be run from a CD-ROM or copied and run from a local drive."
  2041.       LText @xy(84,35) 181 23 "Copying the program files to your local drive will take up extra space on your drive, but may allow faster access."
  2042.       LText @xy(165,66) 120 30 "Copies The LEXIS-NEXIS Millennium+ Software Collection required files."
  2043.       LText @xy(170,91) 100 12 " ╖   [Install_Size] KB Required."
  2044.       LText @xy(165,106) 100 20 "Virtually no hard drive space needed."
  2045.  
  2046.       Bitmap @xy(8,7) Bitmap 14
  2047.       PushButton @xy(180,145) 45 15 "Next >" 200 
  2048.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  2049.       PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  2050.       Static @xy(8,140) 269 1 "" BlackRect
  2051.  
  2052.       RadioButtonGroup Uses [Dialog_RcMain]
  2053.       RadioButton @xy(83,65) 70 10 "Copy to local drive"
  2054.       RadioButton @xy(83,105) 70 10 "Run from CD-ROM" [CDRom_Present]
  2055.    EndDialogBox
  2056.  
  2057. If [Dialog_Rc] = 100
  2058.    goto Welcome1
  2059. EndIf
  2060.  
  2061. If [Dialog_Rc] = 300
  2062.    SoLong Quietly
  2063. EndIf
  2064.  
  2065. If [Dialog_RcMain] = 2
  2066.    [Install_Type] := CDRom 
  2067.   Else 
  2068.    [Install_Type] := Install
  2069. EndIf
  2070.  
  2071. ;; Run Full product installation
  2072. ;;
  2073. Do Full_Install
  2074.  
  2075. ;; Check for next back selection
  2076. ;;
  2077. If [Dialog_Rc] = 100
  2078.    Goto Choice
  2079. EndIf
  2080.  
  2081. ;; Installation complete, display exit screen
  2082. ;;
  2083. Do ByeBye
  2084.  
  2085. EndScript
  2086.  
  2087.